package org.tri.gui.worker.exceptions;

import java.util.ArrayList;
import java.util.List;
import org.tri.entity.Animal;

/**
 * La clase {@code CaravanaDuplicadaException} es utilizada cuando se intenta
 * persistir un {@code Animal} supuestamente "nuevo" pero que por algún
 * motivo ya se encuentra en la base de datos.
 * @author kiira
 * @version 1.0, Mar 1, 2012
 */
public class AnimalDuplicadoException extends Exception {
    /** Listado de caravanas de animales duplicados que corresponden 
     * a la excepción. */
    private List<String> caravanasDuplicadas;

    /**
     * Inicializa la excepción pasando la lista de animales que se presumen
     * duplicados.
     * @param animales lista de animales duplicados.
     */
    public AnimalDuplicadoException( List<Animal> animales ) {
        caravanasDuplicadas = new ArrayList<String>( animales.size() );
        
        for ( Animal animal : animales )
            caravanasDuplicadas.add( animal.getCaravana() );
    
    }//end constructor

    /**
     * Devuelva la lista de caravanas que corresponden a los animales 
     * duplicados.
     * @return lista de caravanas duplicadas.
     */
    public List<String> getCarvanasDuplicadas() {
        return caravanasDuplicadas;
    
    }//end método getCaravanasDuplicadas        

}//end clase AnimalDuplicadoException